Skip to main content
Quang Liem
💬
0 discussions

Background Job

I. Service Cron

1. Access Service

1.1 Cleansing Job

  • Cron được sử dụng để xóa các log dư thừa và gộp các log inbound cùng cuộc goị với nhau.
  • Cron được chạy mỗi 10 phút 1 lần từ 0-17h và chạy quét calllog 24h gần nhất vào 18h hằng ngày.

1.2 Reminder Schedule

  • Cron được sử dụng để kiểm tra thời gian và lên lịch trình gửi thông báo reminder cho hệ thống.
  • Thời gian thực hiện schedule dựa trên thời gian reminder được lấy từ database.

1.2 Birthday Reminder

  • Cron chạy lúc 1h sáng mỗi ngày. Tìm những contacts có ngày sinh nhật để tạo reminder cho agent.
  • Điều kiện và thời gian nhắc nhở được cài đặt trong access-service/callcenter collection.

1.3 Log Cleanse

  • Cron chạy lúc 1h sáng mỗi ngày. Tìm những log đã tạo quá 3 tháng và xoá.
  • Những logs đang được xoá bao gồm: agentLogs

2. Tool CDRS

2.1 Restore Calllog Schedule

  • Cron được sử dụng cho các trường hợp mất log số lượng lớn ở Call Center.

  • Cron sẽ duyệt toàn bộ Call Center trong hệ thống, tiến hành kiểm tra và phục hồi cho từng Call Center trong phạm vi tháng chỉ định.

  • Các biến cần chú ý:

    • cronTime: Xác định thời gian chạy cron.
    • offsetTime: Xác định tháng bắt đầu kiểm tra, phục hồi. Tháng bắt đầu sẽ bằng tháng hiện tại trừ cho offsetTime. offsetTime được tăng lên sau mỗi lần chạy.
    • pbxs config: Thông tin config của pbx server được cấu hình ở server/config/pbxs.json.
    • enableRestoreCron: Bật tắt cron khi khởi chạy service.

3. Integrate Service

3.1 Refresh token schedule

  • Cron được sử dụng để cập nhật access token cho tất cả các tích hợp hiện tại của hệ thống.
  • Cron quét tất cả các integrator của các template tích hợp có endpoint type auth, dựa vào thông tin cấu hình để gọi api auth và cập nhật access token cho tích hợp.
  • Cron được chạy khi service khởi động và sau đó mỗi giờ.

3.2 Sync log system

  • Cron được sử dụng để sync log system từ Gcalls đến tích hợp được cấu hình thông tin sync log system.

  • Cron tiến hành kiểm tra các tích hợp có cấu hình cron, tiến hành quét các log system trong thời gian được chỉ định của call center tích hợp và ghi vào crm tích hợp. Đồng thời sau khi thực hiện phục hồi sẽ gửi mail danh sách các contact chưa được lưu trên hệ thống crm tích hợp về callcenter admin.

  • Thời gian chạy cron được chỉ định thông qua env

  • Các biến cần chú ý:

    • Mail config:

      • MAILER_HOST
      • MAILER_PORT
      • MAILER_USER
      • MAILER_PASS
    • Digital Ocean Space config:

      • DO_KEY
      • DO_SECRET
      • DO_ENDPOINT
      • DO_SPACE
      • DO_REGION
    • scheduleCronTime: Thời gian chạy cron.

    • scheduleCronHours: Số giờ duyệt calllog tính từ thời gian chạy cron về trước.

4. Record Service

4.1 Cron cập nhật ghi âm hằng ngày.

  • Cron được sử dụng để sync record từ server pbx, đẩy record lên digital ocean space và cập nhật link ghi âm cho nhưng calllog trong 24h.

  • Cron được chia làm 3 cron nhỏ:

    • Sync record cron: Chạy vào 0h10p hằng đêm, tiến hành sync những record mới trong vòng 24h gần đây từ pbx server về record server.
    • Upload record cron: Chạy vào 1h10p hằng đêm, tiến hành upload những record được sync trước đó lên digital ocean space và clean up ghi âm đã upload ở server.
    • Update record link: Chạy vào 3h10 hằng đêm, tiến hành duyệt và cập nhật link ghi âm digital ocean cho tất cả các cuộc gọi có kết nối trong 24h của hệ thống.

4.2 Cron thống kê ghi âm hằng ngày/hằng tháng.

  • Luồng hoạt động của cron:

    • Sync record theo ngày hoặc theo tháng từ pbx server cho các callcenter được cấu hình về record server, nén.
    • Lấy thông tin các cuộc gọi có kết nối của callcenter từ database và tạo 1 file csv.
    • Upload các file nén và csv lên digital ocean.
    • Gửi mail chứa thông tin file csv, zip cho calllcenter admin.
  • Các biến cần chú ý:

    • Mail config:

      • MAILER_HOST
      • MAILER_PORT
      • MAILER_USER
      • MAILER_PASS
    • Digital Ocean Space config:

      • DO_KEY
      • DO_SECRET
      • DO_ENDPOINT
      • DO_SPACE
      • DO_REGION
    • Pbx config: được cấu hình ở config/pbx.js

II. Server Cron

1. Backup Mongo

  • Crontab được chạy hằng đêm để backup mongo database và lưu trữ vào digital ocean space.
  • Crontab được cấu hình ở server mongo0 và được trigger 23h30p hằng đêm.
  • Cần thiết lập cấu hình s3cmd với digital ocean ở server trước khi thiết lập crontab.

2. Backup Redis

  • Backup crontab: được sử dụng để

    • Được sử dụng để backup data redis và upload digital ocean space.
    • Crontab được thiết lập chạy vào 17h30p hằng ngày.
  • Cleanup crontab:

    • Được sử dụng để kiểm tra và dọn dẹp các file backup cũ ở digital ocean space.
    • Số file tối đa đang được thiết lập là 7.
    • Crontab được thiết lập chạy vào 17h45p hằng ngày.
  • Crontab đang được thiết lập ở server redis.

  • Cần thiết lập cấu hình s3cmd với digital ocean ở server trước khi thiết lập crontab.

3. Backup Postgres

  • Backup crontab:

    • Được sử dụng để backup data postgres và upload digital ocean space.
    • Crontab được thiết lập chạy vào 17h30p hằng ngày.
  • Cleanup crontab:

    • Được sử dụng để kiểm tra và dọn dẹp các file backup cũ ở digital ocean space.
    • Số file tối đa đang được thiết lập là 7.
    • Crontab được thiết lập chạy vào 17h45p hằng ngày.
  • Crontab đang được thiết lập ở server couchdb ( Server chứa postgres hiện tại ).

  • Cần thiết lập cấu hình s3cmd với digital ocean ở server trước khi thiết lập crontab.

Trên đây là tổng quan về các background job trong hệ thống Gcalls. Nếu có câu hỏi nào vui lòng điền vào form bên dưới.